package main

import "fmt"

func main() {
	//定义示例类型和变量
	type Human struct {
		Name string
	}

	var people = Human{Name: "张三"}

	//%v      相应值的默认格式。
	fmt.Printf("%v\n", people)
	//%+v     打印结构体时，会添加字段名
	fmt.Printf("%+v\n", people)
	//%T      相应值的类型的Go语法表示
	fmt.Printf("%T\n", people)
	//%%      字面上的百分号，并非值的占位符
	fmt.Printf("%%\n")

	//%b      二进制表示
	fmt.Printf("%b\n", 5)
	//%c      相应Unicode码点所表示的字符
	fmt.Printf("%c\n", 0x4E2D)
	//%d      十进制表示
	fmt.Printf("%d\n", 0x12)
	//%o      八进制表示
	fmt.Printf("%o\n", 10)
	//%x      十六进制表示，字母形式为小写 a-f
	fmt.Printf("%x\n", 13)
	//%X      十六进制表示，字母形式为大写 A-F
	fmt.Printf("%X\n", 13)

	//%f      有小数点而无指数，例如 123.456
	fmt.Printf("%f\n", 10.2)
	//%s      输出字符串表示（string类型或[]byte)
	fmt.Printf("%s\n", "Go语言")
	fmt.Printf("%s\n", []byte("Go语言"))

	//%p      十六进制表示，前缀 0x，指针地址
	fmt.Printf("%p\n", &people)

}
